package com.ljm.service.impl;

import com.ljm.dao.UserDao;
import com.ljm.dao.impl.UserDaoJdbcImpl;
import com.ljm.entity.User;
import com.ljm.exception.UserExistException;
import com.ljm.factory.DaoFactory;
import com.ljm.utils.ServiceUtils;

/**
 * 对web层提供所有服务
 * 
 * @author xueyu
 * 
 */
public class BusinessServiceImpl {

	// private UserDao userDao = new UserDaoJdbcImpl(); //工厂模式 spring可以解耦
	private UserDao userDao = DaoFactory.createDao(UserDaoJdbcImpl.class);

	// 对web层提供注册服务
	public void register(User user) throws UserExistException {
		// 首先判断是要注册的用户是否存在
		if (userDao.find(user.getUsername())) {
			throw new UserExistException("用户名已存在！！");// 发现要注册的用户已存在，则给web层抛一个编译时异常，提醒web层处理这个异常，给用户一个友好提示
		} else { // 注册用户信息
			user.setPassword(ServiceUtils.md5(user.getPassword())); // 密码加密存储
			userDao.add(user);
		}
	}

	//

	// 对web层提供登陆服务
	public User login(String username, String password) {
		return userDao.find(username, ServiceUtils.md5(password));// 传入加密处理后密码进行比对
	}
}
